Unlike many other products, the computer-executable instructions that comprise a software application can be perfectly reproduced, resulting in a copy that is, for all intents and purposes, identical to the original. As a result, the authors and manufacturers of software applications have struggled against improperly licensed copies of their software applications, with each unlicensed copy potentially resulting in one less sale of that software application. Lack of control over the distribution of properly licensed, authentic software application products also means that malicious computer-executable instructions, traditionally known as “malware”, including, for example, viruses and Trojans, can appear in the copies of software, affecting user privacy and security and negatively impacting the image of the original software manufacturer. Additionally, as networks of computing devices, including worldwide networks, become more ubiquitous, the copying of software applications continues to increase.
Much like with other products, software manufacturers have attempted to combat the unauthorized copying of software applications through mechanisms that make the original, properly purchased software application, better than the copy. For example, software manufacturers have offered post-sales service, such as continued upgrades and improvements, to those whose copies of software applications are properly licensed. With malware becoming increasingly dangerous, the post-sales upgrades and improvements offered to those with legitimate copies of software applications have become more important, as such upgrades and improvements are often directed to increasing the security of the software applications, and decreasing their vulnerability to malware.
Traditionally, a purchaser of a software application cannot know whether the software application being purchased is a legitimate copy until after the transaction has been completed, the purchaser has already paid, and has installed the software application on a computing device. At such a time, the software application can enable the purchaser to perform an activation process by which properly licensed copies with original, unmodified software bits can be identified and activated or validated, such as, for example, to receive post-sales service. However, to combat the proliferation of unlicensed copies of software applications, many software application activation processes can deactivate or reduce or eliminate the capabilities of software applications found to be improperly licensed during the activation process. A purchaser of a software application, therefore, currently has no mechanism available to them by which they can verify the validity and legitimacy of a copy of a software application until after the money is paid and without possibly harming, or, at the very least, changing, the software application in the process.